package org.jeecg.modules.fund.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.fund.entity.FundHold;
import org.jeecg.modules.fund.mapper.FundHoldMapper;
import org.jeecg.modules.fund.service.IFundHoldService;
import org.springframework.stereotype.Service;

import java.util.ArrayList;
import java.util.List;

@Service
public class FundHoldServiceImpl extends ServiceImpl<FundHoldMapper, FundHold> implements IFundHoldService {
    @Override
    public Result<List<FundHold>> add(List<FundHold> holds) {
        // 添加列表
        List<FundHold> fundHoldList = new ArrayList<>();
        // 遍历
        for (FundHold fundHold : holds) {
            // 看是否有持有过
            FundHold entity = this.getOne(new LambdaQueryWrapper<FundHold>()
                    .eq(FundHold::getHoldStatus,0)
                    .eq(FundHold::getFundId, fundHold.getFundId())
                    // TODO
                    .eq(FundHold::getUserId, "e9ca23d68d884d4ebb19d07889727dae"));
            // 若为空
            if(entity == null) {
                // TODO:设置所属用户
                fundHold.setUserId("e9ca23d68d884d4ebb19d07889727dae");
                fundHoldList.add(fundHold);
            }
        }
        if(!fundHoldList.isEmpty()) {
            // 保存
            this.saveBatch(fundHoldList);
        }
        return Result.ok(fundHoldList);
    }
}
